﻿using System;
using System.Collections.Generic;

namespace DotNet.Common
{
    public class CommonByteList : List<byte>, IDisposable
    {
        public void Add(int data)
        {
            base.Add((byte)(data >> 24));
            base.Add((byte)((data >> 16) & 0xff));
            base.Add((byte)((data >> 8) & 0xff));
            base.Add((byte)(data & 0xff));
        }

        public void Add(uint data)
        {
            base.Add((byte)(data >> 24));
            base.Add((byte)((data >> 16) & 0xff));
            base.Add((byte)((data >> 8) & 0xff));
            base.Add((byte)(data & 0xff));
        }

        public void AddRange(IEnumerable<int> IntCollect)
        {
            if (IntCollect == null)
                return;

            foreach (int data in IntCollect)
            {
                this.Add(data);
            }
        }

        public void AddRange(IEnumerable<uint> UIntCollect)
        {
            if (UIntCollect == null)
                return;

            foreach (uint data in UIntCollect)
            {
                this.Add(data);
            }
        }

        public void Dispose()
        {
            base.Clear();
        }
    }
}
